﻿
#pragma once

#include <windows.h>
#include <iostream>


// 管道名称
#define MENGYU_PIPE_NAME "\\\\.\\pipe\\MengYuWubiPipe"  

#define MENGYU_PIPE_SIZE 4096

// 管道消息类型
enum class MengYuPipeMsgType : unsigned char {
    TYPE_NO = 0,  // 无操作
    TYPE_LOG, // 打日志，发过来什么就打印什么
    TYPE_INPUT,  // 输入法传过来的字符串，返回汉字，
    TYPE_SHOWUI, // 显示UI
    TYPE_CLOSE_SERVER = 255, // 关闭服务端
};

//  管道消息结构
#pragma warning(disable : 4200)
struct MengYuWubiPipeMsg {
    MengYuPipeMsgType type; // 消息类型
    char data[0];  // 指向数据的指针
};

//当消息类型为TYPE_INPUT时

//client -> server : data为输入的字符
//server -> client : data为以下结构
// 候选词列表结构
//候选项：
// unsigned char len; // 候选项数据长度
// char data[len]; // 候选项数据
// unsigned char len; // 候选项数据长度
// char data[len]; // 候选项数据
